﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
//class date
//{
//	//
//public:
//	//无参构造函数
//	//date()
//	//{
//	//	_year = 1;
//	//	_month = 1;
//	//	_data = 1;
//	//}
//	//全缺省构造函数
//	/*date(int year = 10, int month = 20, int data = 90)
//	{
//		_year = year;
//		_month = month;
//		_data = data;
//	}*/
//	// 带参构造函数
//	//date(int year, int month, int data)
//	//{
//	//	_year = year;
//	//	_month = month;
//	//	_data = data;
//	//}
//
//	void print()
//	{
//		cout << _year << '/' << _month << '/' << _data << endl;
//	}
//private:
//	int _year;
//	int _month;
//	int _data;
//};
//int main()
//{
//	date d1;//调用默认构造函数
//	//date d2(2024,7,15);//调用带参函数
//	d1.print();
//	//d2.print();
//}
//class date
//{
//public:
//	void print()
//	{
//		cout << _year << '/' << _month << '/' << _data << endl;
//	}
//private:
//	int _year;
//	int _month;
//	int _data;
//};
//int main()
//{
//	date d1;
//	d1.print();
//}
typedef int STDataType;
class Stack
{
public:
	Stack(int n = 4)
	{
		_a = (STDataType*)malloc(sizeof(STDataType) * n);
		if (nullptr == _a)
		{
			perror("malloc申请空间失败");
			return;
		}
		_capacity = n;
		_top = 0;
		cout << "Stack()" << endl;//如过调用了就打印出来
	}
	~Stack()
	{
		free(_a);
		_capacity = _top = 0;//可写可不写
	}
private:
	STDataType* _a;
	size_t _capacity;
	size_t _top;
};
// 两个Stack实现队列
class MyQueue
{
public:
	//编译器默认⽣成MyQueue的构造函数调⽤了Stack的构造，完成了两个成员的初始化
private:
	Stack pushst;
	Stack popst;
};
int main()
{
	MyQueue mq;
	Stack st;//后定义的先被析构
	return 0;
}
//class date
//{
//	//
//public:
//	//无参构造函数
//	/*date()
//	{
//		_year = 1;
//		_month = 1;
//		_data = 1;
//	}*/
//	//全缺省构造函数
//	/*date(int year = 10, int month = 20, int data = 90)
//	{
//		_year = year;
//		_month = month;
//		_data = data;
//	}*/
//	// 带参构造函数
//	date(int year, int month, int data)
//	{
//		_year = year;
//		_month = month;
//		_data = data;
//	}
//
//	void print()
//	{
//		cout << _year << '/' << _month << '/' << _data << endl;
//	}
//private:
//	int _year;
//	int _month;
//	int _data;
//};
//int main()
//{
//	date d1(2024,7,15);//带参构造函数
//	date d2();//无参构造函数或全缺省构造函数
//	d1.print();
//}
